package com.hq.door.service;

import java.util.List;
import java.util.Map;

import com.hq.door.dto.Pagination;
import com.hq.door.dto.Parent;
import com.hq.door.dto.ParentApplyFront;
import com.hq.door.dto.ParentInfoBack;
import com.hq.door.dto.ParentParams;
import com.hq.door.dto.ParentRecordFront;
import com.hq.door.pojo.TClass;
import com.hq.door.pojo.TParent;
import com.hq.door.pojo.TStudent;

public interface IParentService extends IBaseService<TParent> {
	
	/**
	 * 查询班级信息列表
	 * @param grade		年级
	 * @return
	 */
	public List<TClass> queryClazzList(String grade);
	
	/**
	 * 查询学生信息列表
	 * @param clazzName	班级名称
	 * @return
	 */
	public List<TStudent> queryStudentList(String clazzName);
	
	/**
	 * 家长微信绑定
	 * @param parentName	家长姓名
	 * @param phoneNum		家长手机号
	 * @param studentName	学生姓名
	 * @param clazz			学生所在班级
	 * @param reason		申请绑定原因
	 * @return
	 */
	public TParent wxBind(String parentName, 
			 			   String phoneNum,
			 			   String studentName,
			 			   String clazz,
			 			   String reason);
	
	/**
	 * 根据家长查询 对应学生的刷卡记录
	 * @param paf
	 * @return
	 */
	public Pagination queryRecordsByParent(TParent tparent,ParentRecordFront prf);
	
	/**
	 * 根据家长查询 对应学生的申请记录
	 * @param pid
	 * @return
	 */
	public Pagination queryApplysByParent(TParent tparent,ParentApplyFront paf);
	
	/**
	 * 批量导入家长信息
	 */
	public String addParentList(List<Map<String,String>> list);
	
	/**
	 * 分页查询家长信息
	 * @return
	 */
	public Pagination queryParentListByPage(ParentParams pib);
	
	/**
	 * 查询所有家长信息
	 * @return
	 */
	public List<ParentInfoBack> queryParentList();
	
	/**
	 * 根据主键查询一条家长信息
	 * @param id
	 * @return
	 */
	public ParentInfoBack queryParent(Integer id);
	
	/**
	 * 添加一条家长信息
	 */
	public String addParent(ParentInfoBack pib);
	
	/**
	 * 修改一条家长信息
	 */
	public String modifyParent(ParentInfoBack pib);
	
	/**
	 * 修改一条家长信息
	 * 添加微信id
	 */
	public TParent modifyParent(String mobile,String weixinId);
	
	/**
	 * 删除家长信息
	 */
	public Integer deleteParent(Integer ...pids);

	/**
	 * 家长登录检查
	 */
	public TParent check(Parent parent);

	/**
	 * 家长微信登录
	 * @param wexinId
	 * @return
	 */
	public TParent wxLogin(String wexinId);
	
	
}
